package cn.wolfcode.rbac.mapper;

import cn.wolfcode.rbac.domain.Role;
import cn.wolfcode.rbac.query.QueryObject;
import org.apache.ibatis.annotations.Param;

import java.lang.reflect.Parameter;
import java.util.List;

public abstract interface RoleMapper {
    //根据id获取到指定的角色
    public abstract Role get(Long id);
    //获取到所有的角色
    public abstract List<Role> selectAll();
    //添加角色
    public abstract int insert(Role role);
    //删除角色
    public abstract int delete(Long id);
    //修改角色信息
    public abstract int update(Role role);
    //获取到所有角色的总条数（分页）
   // public abstract int selectForCount(QueryObject qo);
    //获取到所有的角色信息（分页）
    public abstract List<Role> selectForList(QueryObject qo);
    //对中间表的操作
    //向角色权限表中添加数据
    public abstract void insertRelation(@Param("rid") Long rid,@Param("pid")Long id);
    //删除角色权限关系表中的数据
    public abstract void deleteRelation(Long rid);
}
